\hypertarget{classCAlsaIO}{
\section{\-C\-Alsa\-I\-O \-Class \-Reference}
\label{classCAlsaIO}\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}
}


{\ttfamily \#include $<$alsa\-\_\-io.\-h$>$}

\-Inheritance diagram for \-C\-Alsa\-I\-O\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classCAlsaIO}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCAlsaIO_ad0c5787350736de90c5860e6c13bdc40}{\-C\-Alsa\-I\-O} (\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} p\-Action, unsigned int p\-Channels)
\item 
\hyperlink{classCAlsaIO_acf2c2eed216bde6d9d95372fb6f084d5}{\-C\-Alsa\-I\-O} (\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} p\-Action, unsigned int p\-Channels, \hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} p\-Stream\-Info)
\item 
\hyperlink{classCAlsaIO_a84c71af9809cb7c1f3d22b67e5ef8233}{\-C\-Alsa\-I\-O} (\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} p\-Action)
\item 
virtual \hyperlink{classCAlsaIO_a90523775a705f0cbf0d33cc22a9fee08}{$\sim$\-C\-Alsa\-I\-O} ()
\item 
virtual int \hyperlink{classCAlsaIO_a38e4b858c7ca52ed729cac95f7591643}{init} (\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$p\-Config)
\item 
virtual int \hyperlink{classCAlsaIO_a75136c89effa2d17df301c34b558b6b3}{destroy} ()
\item 
virtual int \hyperlink{classCAlsaIO_a2bb1348b29dafd091c2b454d21ccb3a0}{read} (void $\ast$$\ast$p\-Data, \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Timeout=1000)
\item 
virtual int \hyperlink{classCAlsaIO_a4add4f97167c28853c96280a91f47bdf}{write} (void $\ast$p\-Data, const \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Length)
\item 
virtual \hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} \hyperlink{classCAlsaIO_ae2cd7fa1bdeaf8dc4e026fdeda3b62b4}{get\-Stream\-Info} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{classCAlsaIO_af025779080a15ea1a8d13009cf774a19}{\-E\-Init\-Error} \{ \hyperlink{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a39200ffb564c53d358399b0e0bdb2261}{\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R} =  0, 
\hyperlink{classCAlsaIO_af025779080a15ea1a8d13009cf774a19aa5f99b155a680b2cca0d64d49d450f5c}{\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E} =  1, 
\hyperlink{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a06154a4f365e2935cb5ef006f3a0f3e4}{\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R} =  2, 
\hyperlink{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a89b4aa18a4dfb55a90c73e9ea6334147}{\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R} =  3
 \}
\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCAlsaIO_a219af49ca7e89c72e2753821eeee4038}{\-C\-Alsa\-I\-O} (const \hyperlink{classCAlsaIO}{\-C\-Alsa\-I\-O} \&)
\item 
\hyperlink{classCAlsaIO}{\-C\-Alsa\-I\-O} \& \hyperlink{classCAlsaIO_a1e07d80eac5a4344193c9d9d8136e898}{operator=} (const \hyperlink{classCAlsaIO}{\-C\-Alsa\-I\-O} \&)
\item 
bool \hyperlink{classCAlsaIO_afccf825bb8ec3b411090960e9904a28a}{init\-Playback} ()
\item 
bool \hyperlink{classCAlsaIO_a1fd661a3f7931688fc414b943f73c646}{init\-Capture} ()
\item 
unsigned int \hyperlink{classCAlsaIO_a6458693adf42e1d18886490f07b00971}{get\-Byte\-Per\-Sample} ()
\item 
snd\-\_\-pcm\-\_\-format\-\_\-t \hyperlink{classCAlsaIO_a1465ebb956bc278eb8f94713c077fc3b}{get\-Alsa\-Snd\-Pcm\-Format} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCAlsaIO_af025779080a15ea1a8d13009cf774a19}{\-E\-Init\-Error} \hyperlink{classCAlsaIO_ac0bec0456ebe156dd7f91ce78f180cb1}{m\-Error}
\item 
\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \hyperlink{classCAlsaIO_a9534bcc011f1329f48bfd85f05dfa27a}{m\-Action}
\item 
bool \hyperlink{classCAlsaIO_a2b4f99e9e294a08333760c34a0b3f84e}{m\-Playback\-Prepare\-For\-First\-Time}
\item 
unsigned int \hyperlink{classCAlsaIO_a37c151e25b6049d7b8200c07a1119644}{m\-Playback\-Channels}
\item 
snd\-\_\-pcm\-\_\-t $\ast$ \hyperlink{classCAlsaIO_a3af9bf0b6f2e4060516b8c93b3b58faf}{m\-Playback\-Handle}
\item 
bool \hyperlink{classCAlsaIO_a9a638038a1cee4c8e4b9bf18ee1dc739}{m\-Capture\-Prepare\-For\-First\-Time}
\item 
unsigned int \hyperlink{classCAlsaIO_aa6c23d2d8e78a26d31a20569bc708c00}{m\-Capture\-Channels}
\item 
snd\-\_\-pcm\-\_\-t $\ast$ \hyperlink{classCAlsaIO_a6c3ab64007888a9ae062f4b7a92d8f5a}{m\-Capture\-Handle}
\item 
char $\ast$ \hyperlink{classCAlsaIO_a83ad50108db82d97d312fe853d6418e2}{m\-Capture\-Buffer}
\item 
\hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} \hyperlink{classCAlsaIO_a57d951532a8acae23e8cd194cf5dc980}{m\-Stream\-Info}
\item 
unsigned int \hyperlink{classCAlsaIO_aa8c8c3677bd118325188b00f9e4784c2}{m\-Byte\-Per\-Sample}
\end{DoxyCompactItemize}


\subsection{\-Member \-Enumeration \-Documentation}
\hypertarget{classCAlsaIO_af025779080a15ea1a8d13009cf774a19}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-E\-Init\-Error@{\-E\-Init\-Error}}
\index{\-E\-Init\-Error@{\-E\-Init\-Error}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{\-E\-Init\-Error}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \-C\-Alsa\-I\-O\-::\-E\-Init\-Error}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_af025779080a15ea1a8d13009cf774a19}
\begin{Desc}
\item[\-Enumerator\-: ]\par
\begin{description}
\index{\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R}!\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R}}\item[{\em 
\hypertarget{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a39200ffb564c53d358399b0e0bdb2261}{
\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R}
\label{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a39200ffb564c53d358399b0e0bdb2261}
}]\index{\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E@{\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E}!\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E@{\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E}}\item[{\em 
\hypertarget{classCAlsaIO_af025779080a15ea1a8d13009cf774a19aa5f99b155a680b2cca0d64d49d450f5c}{
\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E}
\label{classCAlsaIO_af025779080a15ea1a8d13009cf774a19aa5f99b155a680b2cca0d64d49d450f5c}
}]\index{\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R}!\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R}}\item[{\em 
\hypertarget{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a06154a4f365e2935cb5ef006f3a0f3e4}{
\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R}
\label{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a06154a4f365e2935cb5ef006f3a0f3e4}
}]\index{\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R}!\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R}}\item[{\em 
\hypertarget{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a89b4aa18a4dfb55a90c73e9ea6334147}{
\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R}
\label{classCAlsaIO_af025779080a15ea1a8d13009cf774a19a89b4aa18a4dfb55a90c73e9ea6334147}
}]\end{description}
\end{Desc}



\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCAlsaIO_ad0c5787350736de90c5860e6c13bdc40}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{\-C\-Alsa\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Alsa\-I\-O\-::\-C\-Alsa\-I\-O (
\begin{DoxyParamCaption}
\item[{{\bf \-E\-Action}}]{p\-Action, }
\item[{unsigned int}]{p\-Channels}
\end{DoxyParamCaption}
)}}
\label{classCAlsaIO_ad0c5787350736de90c5860e6c13bdc40}
\hypertarget{classCAlsaIO_acf2c2eed216bde6d9d95372fb6f084d5}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{\-C\-Alsa\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Alsa\-I\-O\-::\-C\-Alsa\-I\-O (
\begin{DoxyParamCaption}
\item[{{\bf \-E\-Action}}]{p\-Action, }
\item[{unsigned int}]{p\-Channels, }
\item[{{\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info}}]{p\-Stream\-Info}
\end{DoxyParamCaption}
)}}
\label{classCAlsaIO_acf2c2eed216bde6d9d95372fb6f084d5}
\hypertarget{classCAlsaIO_a84c71af9809cb7c1f3d22b67e5ef8233}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{\-C\-Alsa\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Alsa\-I\-O\-::\-C\-Alsa\-I\-O (
\begin{DoxyParamCaption}
\item[{{\bf \-E\-Action}}]{p\-Action}
\end{DoxyParamCaption}
)}}
\label{classCAlsaIO_a84c71af9809cb7c1f3d22b67e5ef8233}
\hypertarget{classCAlsaIO_a90523775a705f0cbf0d33cc22a9fee08}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!$\sim$\-C\-Alsa\-I\-O@{$\sim$\-C\-Alsa\-I\-O}}
\index{$\sim$\-C\-Alsa\-I\-O@{$\sim$\-C\-Alsa\-I\-O}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{$\sim$\-C\-Alsa\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Alsa\-I\-O\-::$\sim$\-C\-Alsa\-I\-O (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCAlsaIO_a90523775a705f0cbf0d33cc22a9fee08}
\hypertarget{classCAlsaIO_a219af49ca7e89c72e2753821eeee4038}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}}
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{\-C\-Alsa\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Alsa\-I\-O\-::\-C\-Alsa\-I\-O (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Alsa\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a219af49ca7e89c72e2753821eeee4038}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCAlsaIO_a75136c89effa2d17df301c34b558b6b3}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!destroy@{destroy}}
\index{destroy@{destroy}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{destroy}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Alsa\-I\-O\-::destroy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCAlsaIO_a75136c89effa2d17df301c34b558b6b3}


\-Implements \hyperlink{classISampleIO_a4a3ef7be5c5abba7f9993913380cb14f}{\-I\-Sample\-I\-O}.

\hypertarget{classCAlsaIO_a1465ebb956bc278eb8f94713c077fc3b}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!get\-Alsa\-Snd\-Pcm\-Format@{get\-Alsa\-Snd\-Pcm\-Format}}
\index{get\-Alsa\-Snd\-Pcm\-Format@{get\-Alsa\-Snd\-Pcm\-Format}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{get\-Alsa\-Snd\-Pcm\-Format}]{\setlength{\rightskip}{0pt plus 5cm}snd\-\_\-pcm\-\_\-format\-\_\-t \-C\-Alsa\-I\-O\-::get\-Alsa\-Snd\-Pcm\-Format (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a1465ebb956bc278eb8f94713c077fc3b}
\hypertarget{classCAlsaIO_a6458693adf42e1d18886490f07b00971}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!get\-Byte\-Per\-Sample@{get\-Byte\-Per\-Sample}}
\index{get\-Byte\-Per\-Sample@{get\-Byte\-Per\-Sample}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{get\-Byte\-Per\-Sample}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Alsa\-I\-O\-::get\-Byte\-Per\-Sample (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a6458693adf42e1d18886490f07b00971}
\hypertarget{classCAlsaIO_ae2cd7fa1bdeaf8dc4e026fdeda3b62b4}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!get\-Stream\-Info@{get\-Stream\-Info}}
\index{get\-Stream\-Info@{get\-Stream\-Info}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{get\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info} \-C\-Alsa\-I\-O\-::get\-Stream\-Info (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCAlsaIO_ae2cd7fa1bdeaf8dc4e026fdeda3b62b4}


\-Implements \hyperlink{classISampleIO_a9e43c9190bd486f654f930aa49af48d1}{\-I\-Sample\-I\-O}.

\hypertarget{classCAlsaIO_a38e4b858c7ca52ed729cac95f7591643}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!init@{init}}
\index{init@{init}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Alsa\-I\-O\-::init (
\begin{DoxyParamCaption}
\item[{{\bf \-C\-Properties\-Reader} $\ast$}]{p\-Config}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCAlsaIO_a38e4b858c7ca52ed729cac95f7591643}
\begin{DoxyNote}{\-Note}
\-The instance of the properties reader will be freed (delete) by the main programm and is not allowed by the deconstructor of an inherit \-I\-O class.
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Config} & pointer to the properties reader \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
0 on success, -\/1 otherwise 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_ab8ef7dd9048d0944d3c5f50329e0874d}{\-I\-Sample\-I\-O}.

\hypertarget{classCAlsaIO_a1fd661a3f7931688fc414b943f73c646}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!init\-Capture@{init\-Capture}}
\index{init\-Capture@{init\-Capture}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{init\-Capture}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Alsa\-I\-O\-::init\-Capture (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a1fd661a3f7931688fc414b943f73c646}
\hypertarget{classCAlsaIO_afccf825bb8ec3b411090960e9904a28a}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!init\-Playback@{init\-Playback}}
\index{init\-Playback@{init\-Playback}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{init\-Playback}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Alsa\-I\-O\-::init\-Playback (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_afccf825bb8ec3b411090960e9904a28a}
\hypertarget{classCAlsaIO_a1e07d80eac5a4344193c9d9d8136e898}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!operator=@{operator=}}
\index{operator=@{operator=}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Alsa\-I\-O}\& \-C\-Alsa\-I\-O\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Alsa\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a1e07d80eac5a4344193c9d9d8136e898}
\hypertarget{classCAlsaIO_a2bb1348b29dafd091c2b454d21ccb3a0}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!read@{read}}
\index{read@{read}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-C\-Alsa\-I\-O\-::read (
\begin{DoxyParamCaption}
\item[{void $\ast$$\ast$}]{p\-Data, }
\item[{{\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Timeout = {\ttfamily 1000}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCAlsaIO_a2bb1348b29dafd091c2b454d21ccb3a0}
\hypertarget{classCAlsaIO_a4add4f97167c28853c96280a91f47bdf}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!write@{write}}
\index{write@{write}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-C\-Alsa\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Data, }
\item[{const {\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCAlsaIO_a4add4f97167c28853c96280a91f47bdf}


\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCAlsaIO_a9534bcc011f1329f48bfd85f05dfa27a}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Action@{m\-Action}}
\index{m\-Action@{m\-Action}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Action}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-E\-Action} {\bf \-C\-Alsa\-I\-O\-::m\-Action}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a9534bcc011f1329f48bfd85f05dfa27a}
\hypertarget{classCAlsaIO_aa8c8c3677bd118325188b00f9e4784c2}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Byte\-Per\-Sample@{m\-Byte\-Per\-Sample}}
\index{m\-Byte\-Per\-Sample@{m\-Byte\-Per\-Sample}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Byte\-Per\-Sample}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Alsa\-I\-O\-::m\-Byte\-Per\-Sample}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_aa8c8c3677bd118325188b00f9e4784c2}
\hypertarget{classCAlsaIO_a83ad50108db82d97d312fe853d6418e2}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Capture\-Buffer@{m\-Capture\-Buffer}}
\index{m\-Capture\-Buffer@{m\-Capture\-Buffer}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Capture\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf \-C\-Alsa\-I\-O\-::m\-Capture\-Buffer}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a83ad50108db82d97d312fe853d6418e2}
\hypertarget{classCAlsaIO_aa6c23d2d8e78a26d31a20569bc708c00}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Capture\-Channels@{m\-Capture\-Channels}}
\index{m\-Capture\-Channels@{m\-Capture\-Channels}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Capture\-Channels}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Alsa\-I\-O\-::m\-Capture\-Channels}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_aa6c23d2d8e78a26d31a20569bc708c00}
\hypertarget{classCAlsaIO_a6c3ab64007888a9ae062f4b7a92d8f5a}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Capture\-Handle@{m\-Capture\-Handle}}
\index{m\-Capture\-Handle@{m\-Capture\-Handle}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Capture\-Handle}]{\setlength{\rightskip}{0pt plus 5cm}snd\-\_\-pcm\-\_\-t$\ast$ {\bf \-C\-Alsa\-I\-O\-::m\-Capture\-Handle}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a6c3ab64007888a9ae062f4b7a92d8f5a}
\hypertarget{classCAlsaIO_a9a638038a1cee4c8e4b9bf18ee1dc739}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Capture\-Prepare\-For\-First\-Time@{m\-Capture\-Prepare\-For\-First\-Time}}
\index{m\-Capture\-Prepare\-For\-First\-Time@{m\-Capture\-Prepare\-For\-First\-Time}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Capture\-Prepare\-For\-First\-Time}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-C\-Alsa\-I\-O\-::m\-Capture\-Prepare\-For\-First\-Time}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a9a638038a1cee4c8e4b9bf18ee1dc739}
\hypertarget{classCAlsaIO_ac0bec0456ebe156dd7f91ce78f180cb1}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Error@{m\-Error}}
\index{m\-Error@{m\-Error}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Error}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-E\-Init\-Error} {\bf \-C\-Alsa\-I\-O\-::m\-Error}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_ac0bec0456ebe156dd7f91ce78f180cb1}
\hypertarget{classCAlsaIO_a37c151e25b6049d7b8200c07a1119644}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Playback\-Channels@{m\-Playback\-Channels}}
\index{m\-Playback\-Channels@{m\-Playback\-Channels}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Playback\-Channels}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Alsa\-I\-O\-::m\-Playback\-Channels}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a37c151e25b6049d7b8200c07a1119644}
\hypertarget{classCAlsaIO_a3af9bf0b6f2e4060516b8c93b3b58faf}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Playback\-Handle@{m\-Playback\-Handle}}
\index{m\-Playback\-Handle@{m\-Playback\-Handle}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Playback\-Handle}]{\setlength{\rightskip}{0pt plus 5cm}snd\-\_\-pcm\-\_\-t$\ast$ {\bf \-C\-Alsa\-I\-O\-::m\-Playback\-Handle}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a3af9bf0b6f2e4060516b8c93b3b58faf}
\hypertarget{classCAlsaIO_a2b4f99e9e294a08333760c34a0b3f84e}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Playback\-Prepare\-For\-First\-Time@{m\-Playback\-Prepare\-For\-First\-Time}}
\index{m\-Playback\-Prepare\-For\-First\-Time@{m\-Playback\-Prepare\-For\-First\-Time}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Playback\-Prepare\-For\-First\-Time}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-C\-Alsa\-I\-O\-::m\-Playback\-Prepare\-For\-First\-Time}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a2b4f99e9e294a08333760c34a0b3f84e}
\hypertarget{classCAlsaIO_a57d951532a8acae23e8cd194cf5dc980}{
\index{\-C\-Alsa\-I\-O@{\-C\-Alsa\-I\-O}!m\-Stream\-Info@{m\-Stream\-Info}}
\index{m\-Stream\-Info@{m\-Stream\-Info}!CAlsaIO@{\-C\-Alsa\-I\-O}}
\subsubsection[{m\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info} {\bf \-C\-Alsa\-I\-O\-::m\-Stream\-Info}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCAlsaIO_a57d951532a8acae23e8cd194cf5dc980}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{alsa__io_8h}{alsa\-\_\-io.\-h}\item 
\hyperlink{alsa__io_8cxx}{alsa\-\_\-io.\-cxx}\end{DoxyCompactItemize}
